Method and apparatus for channel equalization

ABSTRACT

An equalizer compensates for changing transmission characteristics of a communication channel by changing the number of prior symbols, and the value of coefficients that it uses to filter a received signal. The number of prior symbols, and the value of the coefficients are determined using a set of training symbols that are received from the communication channel.

TECHNICAL FIELD

The present invention relates to communications; more specifically, toequalization of a communication channel.

DESCRIPTION OF THE PRIOR ART

Information is typically passed over a communication channel in the formof a signal that represents a symbol from a known symbol constellation.The transmission characteristics of the communication channel alter thesignal and make it difficult to identify the symbol at a receiver.

In the past, adaptive filters were used as channel equalizers tocompensate for the transmission characteristics of a communicationchannel. The communication channel may be a wireless channel or a wiredchannel. FIG. 1 illustrates a prior channel equalizer. A received signalpasses through analog-to-digital (A/D) converter 10 and into a shiftregister or RAM 12. Shift register 12 is broken into nine segments inthis example. The nine segments consist of three groups of threesegments, where each group of three segments correspond to a symbolperiod. As a result, shift register 12 stores two prior symbols and thecurrent symbol, with three samples of each symbol. Each sample containedin the shift register is multiplied by a coefficient C using one ofmultipliers 14. The outputs of multipliers 14 are summed in adder 16.Adder 16 provides its output, which may be complex, to decision unit 18.Decision unit 18 identifies the symbol S_(k) by determining which symbolin the symbol constellation most closely matches the signal receivedfrom summer 16. Decision unit 18 is well-known in the art and issometimes referred to as a slicer in modem applications. It should benoted that the equalizer of FIG. 1 is considered a fractionally-spacedequalizer because it samples the incoming signal at a rate faster thanthe symbol rate. As a result of having several samples per symbol, afractionally-spaced equalizer is less sensitive to the phase variationsin the incoming signal. It should also be noted that the equalizer ofFIG. 1 is adaptive in that the coefficients C are changed based onchanging channel conditions. For the sake of simplicity, the mechanismfor changing the coefficients is not shown. A similar fractionallyspaced equalizer is disclosed in "Fractional Tap-Spacing Equalizer andConsequences for Clock Recovery in Data Modems" by Gottfried Ungerboeck,IEEE Transactions on Communications, Vol. Com-24 No. 8, August 1976, pp.856-64.

The equalizer of FIG. 1 has the advantage of modifying the value ofcoefficients C based on changing communication channel characteristics.The channel's transmission characteristics are determined by observingthe channel's effect on a set of training symbols that are sent to theequalizer. Unfortunately, when the channel's transmissioncharacteristics change, the equalizer of FIG. 1 does not change thenumber of prior symbols that are used to compensate for the transmissioncharacteristics. For example, in wireless communication channel over adesert or open space environment, it is desirable to use a small numberof prior symbols, and in a congested environment such as an urbanenvironment, it is desirable to use a large number of prior symbols.

SUMMARY OF THE INVENTION

The present invention solves this problem by varying the number of priorsymbols used by an equalizer based on a communication channel'stransmission characteristics. By optimizing the number of prior symbolsto match the communication environment, a larger signal-to-noise ratiomay be maintained.

The present invention analyzes a received set of training symbols todetermine the number of prior symbols that should be used by theequalizer, as well as the value of the coefficients that will be used tocompensate for the channel's transmission characteristics. In addition,the present invention forms m individual sums that may be used toidentify a received symbol. Each sum is formed by adding correspondingsignal samples from r-1 different symbol periods, where there are m setsof corresponding signal samples. This offers the advantage ofidentifying a symbol using symbol samples that contain a large amount ofenergy from the symbol of interest while eliminating samples thatcontain large amounts of energy associated with past transmittedsymbols.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 illustrates a prior fractionally-spaced adaptive equalizer;

FIG. 2 is a block diagram of the present invention;

FIG. 3 illustrates sampling symbols received over a communicationchannel;

FIG. 4 illustrates sampling signals in a fashion similar to FIG. 3,except that phase relationship between the symbols and the samples hasbeen changed; and

FIG. 5 is a more detailed block diagram of an embodiment of the presentinvention's adaptive equalizer.

DETAILED DESCRIPTION

FIG. 2 is a block diagram of a receiver with the present invention.Sample and hold (S/H) and analog-to-digital (A/D) converter 30 receive asignal from a communication channel that may be wired or wireless. TheS/H and A/D sample the signal m times per symbol period. As a result,for each symbol period, unit 30 produces m outputs labeled Y₁,k throughY_(m),k where the index 1 to m indicates the sample number for a givensymbol period, and the index k indicates the symbol period. The value mmay be any integer greater than 1; however, in Cellular Standard IS54channels, m is typically equal to 3 or 4, and in Cellular Standard GSMchannels, m may be equal to 8. The signal Y is passed through a noisepre-whitening filter 32, the art, to produce signals X₁,k throughX_(m),k. Noise pre-whitening filter 32 is used to ensure that the noisereceived by adaptive equalizer 36 is uncorrelated. Signal X is fed toshift register or RAM 34 which stores one signal sample in each storagelocation. The m outputs of shift register 34 are provided to adaptiveequalizer and decision unit 36 which outputs the received symbol signalS_(k) '.

Noise pre-whitening filter 32 may be implemented by multiplying a Ymatrix containing signal samples Y₁,k through Y_(m),k by a P matrix toobtain an X matrix containing signal samples X₁,k through X_(m),k. Themultiplication may be performed by devices such as a microprocessor, amicrocomputer, a programmable signal processor or specialized hardware.##EQU1##

Matrix P is calculated starting with the overall transfer function T(jω)of the receiver filters preceding pre-whitening filter 32. This transferfunction is multiplied by T(-jω), and then the inverse Fourier Transformof the product is taken to produce the noise auto-correlation functionA(t). A set of m values, n₁ to n_(m), is obtained by determining thevalue of A(t) at time t=0, t=Δt, t=2Δt . . . t=(m-1)Δt, where Δt isequal to the sampling period. These m values are used to formauto-covariance matrix N. ##EQU2## Matrix N is an m×m matrix with thevalue n₁ along its main diagonal. The column entries below the maindiagonal start with n₂ and increment toward n_(m) until the entry in thebottom row is filled. The column entries above the main diagonal startwith n₂ and increment toward n_(m) until the entry in the top row isfilled. A singular value decomposition is performed on matrix N toobtain matrices U_(N), Σ_(N) and U_(N) *.

    [N]→[U.sub.N ][Σ.sub.N ][U.sub.N *]

    [P]=[Σ.sub.N.sup.-1/2 ][U.sub.N *]

Singular value decomposition is well-known in the art and can be seen,for example, in Matrix Computations, pp. 16-20, by G. H. Golub and C. F.Van Loan, The John Hopkins University Press, Baltimore, Md. 1983. Asingular value decomposition may be executed using, for example, Jacobimethods, the QR algorithm or the Golub/Kahan SVD step. The product ofmatrices Σ_(N) ^(-1/2) and U_(N) * produces the P matrix which is an m×mmatrix. Matrix Σ_(N) ^(-1/2) is formed by raising each entry of theΣ_(N) matrix to the -1/2 power. The P matrix is calculated when thereceiver is manufactured, and the values of the entries of the P matrixmay be stored in a non-volatile memory; it is not necessary torecalculate the P matrix unless the filters preceding the equalizer arechanged.

FIG. 3 illustrates how a transmitted symbol is sampled to obtain theoutput signal Y from S/H and A/D 30. Curves 50, 52, 54, 56 and 58illustrate transmitted symbols S_(k+1), S_(k), S_(k-1), S_(k-2) andS_(k-r-1), respectively. When sampling symbol S_(k) at time 60, sampleY₁,k is obtained and it comprises a portion of symbol S_(k) and some ofthe preceding symbols S_(k-1), S_(k-2) through S_(k-r-1), and evenearlier symbols, but to a degree that is insignificant. One sampleperiod later at time 62, sample Y₂,k is taken. Likewise at followingsample periods, samples Y₃,k through Y_(m),k are taken. It should benoted that point 66 to point 64 on timeline 68 correspond to one symbolperiod.

    Y.sub.1k =g.sub.11 ' S.sub.k +g.sub.12 ' S.sub.k-1 +g.sub.13 ' S.sub.k-2 + +g.sub.1r ' S.sub.k-r-1                                   (1)

Equation 1 illustrates the components of sample Y₁,k. The equationillustrates that sample Y₁,k contains symbol energy from symbol S_(k) aswell as several prior signals. The coefficient g in front of each symbolin equation 1 illustrates the signal contribution made to sample Y₁,k bythat particular symbol. ##EQU3## Equations 2 similarly describe thecomponents of samples Y₂,k through Y_(m),k. If we consider the output ofnoise pre-whitening filter 32, equations 1 and 2 may be rewritten asshown by equations 3. ##EQU4## Concerning the adaptive equalizer, thecoefficients g and the variable r are determined based on how thecharacteristics of the communication channel modify a set of trainingsymbols that are transmitted over the channel. For example, in somewireless communication systems, transmission periods are broken intoframes of 162 symbols that are approximately 41 microseconds long, wherethe first 14 symbols are training symbols. It should be noted thatequations 3 can be rewritten as matrix equation 4 and equation 4 can bewritten in the form of equation 5. ##EQU5## It can be seen that once thevalues of the entries in matrix G, are determined, matrix G will modelthe transmission characteristics of the communication channel.

It should be noted that in the example of FIG. 3, the phase relationshipbetween the received symbols and the samples are such that the firstsample occurs near the beginning of symbol S_(k) and that the lastsample occurs near the end of symbol S_(k). In this example, when thecoefficients g are determined using the training symbols, coefficientsg₁,1 and g_(m),1 would be relatively small while coefficient g₅,k may berelatively large. FIG. 4 illustrates the same type of sampling as FIG. 3except that due to the random initial relationship between the phase ofthe incoming symbols and the sampling of unit 30, the relationshipbetween the peak of symbol S_(k) and samples Y₁,k through Y_(m),k haschanged. In this situation, coefficients g₁,1 g₂,1 and g₃,1 would berelatively large, while coefficient g_(m),1 would be negative andrelatively small. In either case, this random phase relationship isaccounted for when the values of the coefficients are determined usingthe training symbol set.

As mentioned earlier, the values of the entries in the G matrix, and thevalue r are to be determined using a set of training symbols. As aresult, it is desirable to rewrite equation 4 so that it will representthe situation where r symbol period's worth of data have been sampled.##EQU6## This is represented by equation 6 where each column of the Xmatrix represents the m samples associated with one symbol period.Equation 6 is rewritten in the form of equation 7 to simplify notation.

    [X]=[G][S]                                                 (7)

By solving for matrix G of equation 7, the communication channel can bemodeled and that modeling can be used by the adaptive equalizer torecover symbols from the received data. Equation 7 can be rewritten inthe form of equation 8 where the product of matrices U and Φ equalmatrix G.

    [X]=[U.sub.r ][Φ][S]                                   (8)

The first step in determining the entries of matrix G, is determiningthe value of r and the value of the entries of matrix U_(r).

This is carried out by forming a time averaged auto-correlation matrixof the received set of training symbols. This is formed by using thesamples associated with each symbol period for the training set ofsymbols to form an auto-correlation matrix C_(k) which is defined inequation 9. ##EQU7## For the m samples resulting from training symbolsS_(k) auto-correlation matrix C_(k) is formed by multiplying the columnmatrix by the row matrix where the entries in the row matrix are thecomplex conjugates of the entries in the column matrix. In a similarmanner, an auto-correlation matrix is obtained for each training symbol.As a result, there are a total of T auto-correlation matrices C for asymbol training set having T symbols. These matrices are summed to forma matrix D as shown in equation 10. Finally equation 11 defines the timeaveraged auto-correlation of the matrix R which is formed by multiplyingeach entry of matrix D by 1T. ##EQU8## The time averagedauto-correlation matrix R is then decomposed using singular valuedecomposition. As a result of the singular value of decomposition,matrix R can be represented as the product of matrices UΣand U*.##EQU9## The Σ matrix is a diagonal matrix with entries equal to 0 inall positions except along the diagonal. The Σ matrix is an m by mmatrix. The value of r is determined by observing the values of theentries along the diagonal of the Σ matrix. The values along thediagonal are related to signal energy and noise energy. At one pointalong the diagonal when moving from entry 1,1 to entry m,m, there willbe a decrease in the value of the entries. This decrease in value isused to determine r. Entry r r is the last entry to have a large valuerelative to entries r+1, r+1 to m,m. This change in values can bedetermined by simply comparing the ratios between adjacent entries onthe diagonal. When a ratio becomes large relative to the ratios of priorentries on the diagonal position, r,r can be determined. This isillustrated by observing equations 13 and 14.

    σ.sub.11 /σ.sub.22 =Δ.sub.1

    σ.sub.22 /σ.sub.33 =Δ.sub.2

    σ.sub.rr /σ.sub.r+1,r+1 =Δ.sub.r         (14)

The ratio Δ₁ is determined by dividing σ₁₁ by σ₂₂ and ratio Δ₂ isdetermined by dividing σ₂₂ by σ₃₃. This is continued until ratio Δ_(r)is located which is equal to σ_(rr) divided by σ_(r+1),r+1. This can bedetermined by setting a threshold. For example, when the signal to noiseratio is 30 dB or greater, a threshold of 100 may be used. In thisexample, Δ_(r) is identified as the ratio that is greater than 100. Ifthe signal to noise ratio is less, it may be desirable to use a lowerthreshold. The value of r is the column or row number of the Σ matrixthat contains the entry σ_(rr).

It should be noted that r may be determined without the use of a set ofknown training symbols. Matrix [R] and therefore matrix [Σ] aredetermined without apriori knowledge of the identities of the symbolsbeing received. As a result, determining r does not require a set ofknown training symbols.

Once the value of r has been determined from the examination of thediagonal of the Σ matrix, U_(r) is simply the first r columns of matrixU of equation 12. After determining the values for the entries in matrixU_(r), equation 15 is used to determine the value of the entries ofmatrix Φ.

    [Φ]=[U.sub.r *][X][S.sup.-1 ]                          (15)

Matrix S⁻¹ is the inverse of matrix S. Matrix U_(r) * is formed usingmatrix U_(r). The entries of matrix U_(r) are replaced with theircomplex conjugates, and the columns of the resulting matrix form therows of matrix U_(r) *. At this point the entries of matrix Φ can bedetermined because matrices U_(R) *, S⁻¹ and X are known. S⁻¹ is knownfrom the training symbol set, and X is the collection of samples of thereceived signals resulting from the received training symbols. Note thatin equation 15 matrix S⁻¹ is truncated to an r×r matrix and matrix X istruncated to an m×r matrix. In addition, the number of samples m, takenduring each symbol period, should be greater than the largest expectedvalue of r.

After using equation 15 to determine the value of the entries of matrixΦ, equation 16 is used to determine the entries of matrix G.

    [G]=[U.sub.r ][Φ]                                      (16)

Recall that the values of the entries of matrix U_(r) are known by usingthe first r columns of matrix U from equation 12.

To verify that the values of the entries in the G matrix have convergedand are not a result obtained during fading, equation 17 is used toproduce matrix Σ_(r).

    [Φ][Φ*]=[Σ.sub.r ]                           (17)

Matrix Σ_(r) is a diagonal r by r matrix; the value of all entries are 0except along the diagonal of the matrix as shown in equation 18.##EQU10## The values σ₁₁ ' through σ_(rr) ' are subtracted from thevalues σ₁₁ through σ_(rr), respectively, of equation 13 to checkconvergence. The resulting difference for each subtraction operationshould be for example, less that 0.2 times the corresponding σ of matrixΣ. After determining that the values of σ are acceptable, thecommunication channel can be modeled by the G matrix. This modeling canbe used to construct a receiver as shown in the block diagram of FIG. 5.

Equation 4 can be rewritten in the form of equation 19. ##EQU11## Insolving for S_(k), which is the most recently received symbol, equation20 is written. Equation 20 illustrates that by subtracting the vectorsor matrices, which consist of prior transmitted symbols multiplied bythe appropriate G matrix entries, from a vector or matrix comprising them samples of signal X during symbol period K most recently-receivedsignal produce a vector or matrix of m samples symbol S_(k), where eachsample symbol S_(k) is scaled by an entry from the first column of the Gmatrix.

FIG. 5 illustrates a block diagram of a receiver that takes advantage ofthe relationship illustrated by equation 20.

The block diagram of FIG. 5 uses received symbols identified by decisionunit 100 as inputs to a shift register or RAM 102. Shift register 102stores previously identified symbols from decision unit 100. Thesestored symbols are shifted to the left once each symbol period. Thenumber of storage locations in shift register 102 should be large enoughto accommodate the largest number of prior symbols that will be used bythe equalizer. This largest number of prior symbols corresponds to thelargest r that is expected. The value r may vary between 1 and m-1, andthe largest value of r is typically equal to twice the maximum expecteddelay spread measured in symbol periods. The delay spread is thedifference between the shortest and longest transmission time or pathover the communication channel between the transmitter and theequalizer. Shift register 102 provides previously identified symbols tothe multipliers. The multipliers form the products of the prior symbolsstored in shift register 102 and the entries of the G matrix. Circularshift registers provide the appropriate entry from the G matrix to themultipliers. As these shift registers move a value to the top mostposition, the value in the top most position is moved to the lower mostposition. These shift registers contain m storage locations so that them entries in the column matrices of equation 20 can be presented to themultiplier during a symbol period.

Multiplier 104 and shift register 106 are used to produce the product ofprior symbol S_(k-1) and a vector with entries g₁₂ through g_(m2).Multiplier 108 and circular shift register 110 are used to form theproduct of prior symbol S_(k-2) and a vector with entries g₁₃ throughg_(m3). The other multipliers and circular shift registers operate in asimilar fashion until multiplier 112 and circular shift register 114form the product of symbol of S_(k-r-1) and a vector with entries g₁₄through g_(mr) it should be noted that if the value of r is less thanthe maximum number of locations in shift register 102, additionalmultipliers and circular shift registers associated with those unusedlocations are also unused. If the value of r is increased due tosubsequent training, those locations may be used. The outputs frommultipliers 104 through 112 are passed to summer 116 which forms the sumof the outputs. This sum is passed to shift register 118 which shiftsthe sum upward. Shift registers 106 to 114, and shift register 118 shiftat the same time so that each new sum resulting from a shift byregisters 106 to 114 is shifted into register 118. The shift registersdo not necessarily shift at the sample rate; however, they shift m timesper symbol period. The first shift for a symbol period moves the sum g₁₂S_(k-1) +g₁₃ S_(k-2) +. . . +g₁, S_(k-r-1) into register 118, and thefinal or m shift for a symbol period move the sum g_(m2) S_(k-1) +g_(m3)S_(k-2) +. . . +g_(mr) S_(k-r-1) into register 118.

In reference to FIGS. 2 and 5 shift register 34 receives the samplesfrom noise pre-whitening filter 32, and then transfers the m samples toregister 120 each symbol period. Summer 122 then subtracts the sum inthe upper most storage location of shift register 118 from the uppermost location of register 120 to form a first difference which accordingto equation 20 is equal to g₁₁ S_(k). This value is passed to shiftregister 124. After register 124 stores this value, the second top mostlocations of shift registers 118 and 120 are enabled to summer 122.Summer 122 produces a difference that is equal to g₂₁ S_(k) inaccordance with equation 20, and this value is passed to shift register124. This process is continued until the final difference which is equalto g_(m1) S_(k) is produced and passed to shift register 124. At thispoint, the storage locations of shift register 124 contain the valueS_(k) multiplied by a coefficient from the first column of the G matrix.Decision block 100 also has access to a storage device which storescoefficients g₁₁ through g_(m1). By dividing the values from shiftregister 120 by the appropriate coefficient from register or RAM 126,decision unit 100 produces m estimates of the transmitted symbol S_(K).Decision unit 100 can then, in a manner well-known in the art, outputthe transmitted symbol as S_(k) ' by determining which symbol in theknown symbol constellation is closest to symbol S_(k) that is derivedfrom the values in register 124. It should be noted that since there arem cells in shift register 124, decision block 100 can make m separatedecisions to produce m separate estimates of S_(k) '. These estimatescan be used in a voting scheme if all the estimates are not the same sothat a single or even double error will not result in an improper outputby decision unit 100. For example, if five decisions indicate that S_(k)' is equal to symbol A, and two decisions indicates that S_(k) ' isequal to symbol B, the output of decision block 100 will be that S_(k) 'is equal to symbol A. It is also possible to ignore certain inputs fromshift register 124 when making a decision. For example, if thecoefficient associated with S_(k) from a particular storage locationwithin register 124 is relatively small with respect to the othercoefficients associated with S_(k), that output from register 124 can beleft out of the decision process. A relatively small value, for example,may be 0.001 times the largest coefficient associated with S_(k). Theimplementation of FIG. 5 was described in terms of discrete hardware,but it is also possible for one skilled in the art to implement thefunctions carried out by FIG. 5 in software, executed by a programmabledevice such a programmable signal processing device, a microprocessor, amicrocomputer or other hardware configurations. It should also be notedthat the values of symbols S and coefficients g may be complex numbers.

The shift registers of FIG. 5 are controlled by controller 130.Controller 130 provides over all control to the equalizer, enables theoutputs of shift register 118 and controls the shifting of all the shiftregisters. Controller 130 also receives inputs from register 34. Whentraining symbols are being received controller 130 uses these inputs tocalculate the entries of the G matrix as described earlier. Aftercalculating these values, controller 130 transfers the appropriatevalues to the shift registers and storage device 126. Controller 136 maybe implemented using devices such as a microprocessor. A microcomputeror another programmable device. It is also possible to implementcontroller 136 with specialized hardware. Controller may includeinternal RAM and/or ROM or it may uses external RAM and/or ROM. If thecircuitry of FIG. 5 is implement in software, the same processor thatexecutes the software may perform the functions of controller 130.

It should be noted that generally speaking, the equalizer of FIG. 5stores the results of prior decisions by decision unit 100 to provide acollection of prior transmitted symbols. It is also possible to use oneof the values from register 124, after it has been divided by theappropriate value in register 126, as a source of prior transmittedsymbols. The equalizer uses these prior symbols and a model of thepresent communication channel transmission characteristics to determinewhat effect the prior symbols have on the present symbol being received.This effect is subtracted from the signal being received so that thelatest symbol can be identified. The initial decisions that identifyprior symbols result from the training symbol set where the receivedsymbols are known apriori. In addition to supplying initial inputs toregister 102, these training symbols are used by controller 130 to modelthe communication channel, that is, determine the value of r and theentries of the G matrix.

I claim:
 1. A method for identifying symbols represented by a receivedsignal from a communication channel comprising:sampling said receivedsignal beginning at a first time to produce a first plurality of initialsamples of a first symbol; sampling said received signal beginning at asecond time to produce a second plurality of initial samples of a secondsymbol, said second time being one symbol period after said first time;using said first and second plurality of initial samples to produce atime averaged auto-correlation matrix; performing a singular valuedecomposition of said time averaged auto-correlation matrix to produce adiagonal matrix; determing a value r by comparing values along adiagonal of said diagonal matrix to identify a location along saiddiagonal where a ratio of adjacent values crosses a predeterminedthreshold; identifying a symbol represented by said received signalusing a third plurality of samples of said received signal and aplurality of consecutive prior symbols, said plurality of prior symbolshaving at least r-1 prior symbols, and said third plurality of sampleshaving at least two samples being less than one symbol period apart. 2.The method of claim 1, wherein said step of sampling said receivedsignal beginning at a first time comprises taking m samples of saidreceived signal to produce a first initial vector comprising m firstinitial samples, m being an integer greater than r, and furthercomprising the step of using said first initial vector to form a firstauto-correlation matrix.
 3. The method of claim 2, wherein said step ofsampling said received signal beginning at a second time comprisestaking m samples of said received signal to produce a second initialvector comprising m second initial samples, and further comprising thestep of using said second initial vector to form a secondauto-correlation matrix.
 4. The method of claim 3, further comprisingthe step of forming said time averaged auto-correlation matrix bysumming said first and said second auto-correlation matrices.
 5. Themethod of claim 1, wherein using said plurality of prior consecutivesymbols comprises forming a plurality of products by multiplying each ofsaid prior symbols by a coefficient.
 6. The method of claim 5, furthercomprising forming a sum of said products and subtracting said sum fromat least one of said third plurality of samples of said received signal.7. The method of claim 1, wherein said third plurality of samples ofsaid received signal comprises m samples of said received signal takenwithin one symbol period to form a symbol vector, where m is an integergreater than r.
 8. The method of claim 7, further comprising the step offorming a plurality of product vectors by multiplying each of said r-1prior consecutive symbols by a m entry matrix.
 9. The method of claim 8,further comprising the step of summing said plurality of product vectorsto produce a sum vector and subtracting said sum vector from said symbolvector.